package mvc.config;

import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

import javax.servlet.Filter;

public class WebApp extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        System.out.println(1111);
        //这里要将SpringMvc的配置类返回
        //我们项目的SpringMvc的配置类为mvc.config.MvcConfig
        return new Class[]{MvcConfig.class};
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        System.out.println(2222);
        return new Class[0];
    }

    @Override
    protected String[] getServletMappings() {
        System.out.println(3333);
        //这个方法用来设置SpringMvc对哪些请求会做出响应
        //*.do表示所有以".do"结尾的请求那么就会交由SpringMvc处理
        return new String[]{"*.do"};
    }

    //为了防止程序中的中文乱码,我们可以自定义配置一个防止中文乱码的过滤器
    //这个方法不是必须重写的 我们需要自己收到编写

    @Override
    protected Filter[] getServletFilters() {
        return new Filter[]{new CharacterEncodingFilter("utf-8")};
    }
}
